Voice-over Internet protocol (VoIP) services have steadily gained much attention from communication service providers, their customers and potential customers. VoIP is voice information delivered on a IP network. VoIP operates by sending voice information in discrete digital packets rather than using traditional circuit protocols of the public switched telephone network (PSTN). Communication service providers are using VoIP technology to offer end users such as individual consumers and businesses more cost-effective voice services across the provider's IP network infrastructure. These services are typically delivered to customers through a broadband access network, such as a digital subscriber line (DSL) access network. VoIP technology may be used as the foundation for new multimedia communication services that may address mobility and cost reduction concerns to customers. VoIP may also optimize the communication service providers' PSTN network costs, such as when used to transport bulk voice traffic over a shared IP data network.
To ensure the quality of communication messages sent using VoIP, VoIP imposes stringent quality of service (QoS) constraints on the IP network such as mouth-to-ear delay, jitter and packet loss. Mouth-to-ear delay is the delay incurred from the time the speaker initiates a vocal stream until the time the vocal stream is provided to the target (listener). The jitter is the variance of the delay experienced by different VoIP packets. The packet loss ratio is the ratio of the packets produced at the origin point to the packets received at the target point. The mouth-ear-delay for VoIP-based communications is limited to not more than 150 ms. The end-to-end jitter may be limited to less than 40 ms and packet loss ratio is limited to not more than 0.5%.
To achieve this QoS, the communication service provider may have to provision a large amount of network resources, such as bandwidth, to support the VoIP application. Network bandwidth used by VoIP traffic is dependent on the VoIP codec (encoder/decoder) and the packetization delay used by the VoIP codec. The VoIP traffic may travel through several IP routers between the origin and the target. Each of these IP routers have a number of ports with fixed amount of bandwidth that can be used for VoIP traffic. In order to achieve the desired QoS, the VoIP traffic volume has to be limited not to exceed the router port bandwidth.
In particular, some communication service providers use a so-called “leaky-bucket” based packet policer to control the amount of VoIP traffic on each IP router. The leaky bucket policer continuously monitors the amount of VoIP traffic received at each router port. When the policer determines that the VoIP traffic exceeds the pre-assigned bandwidth, it indiscriminately discards newly arrived VoIP packets. The packet discarding process continues for a period of time until the VoIP traffic conforms to the pre-assigned bandwidth. During the packet discarding process, packets are dropped from all VoIP calls.
However, such a leaky-bucket congestion control scheme has an undesirable effect on the VoIP services. For instance, when there are N VoIP calls in the network and the total bandwidth is less than the pre-assigned bandwidth, the quality of all the N calls are excellent. If an (N+1)th VoIP call starts and the pre-assigned bandwidth is exceeded, the congested IP router starts to randomly discard VoIP packets from all the (N+1) flows. The quality of all the (N+1) VoIP calls is degraded, reducing the QoS for all calls to below the desired level. This concomitantly creates dissatisfaction among the parties whose conversations are being relayed through that router port.